//var currentDir = "";
// var dirs = new Array();
var BSTable = function() {
	var o = new Object();
	// 初始化Table
	o.optionTemplate = '<div class="btn-group" role="group" aria-label="options">'
			+ '<button id="show" type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span></button>'
			+ '<button id="edit" type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-edit" aria-hidden="true"></span></button>'
			+ '<button id="rename" type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-retweet" aria-hidden="true"></span></button>'
			+ '<button id="copy" type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-transfer" aria-hidden="true"></span></button>'
			+ '<button id="delete" type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></button>'
			+ '<button id="download" type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span></button>'
			+ '</div>';
	var self = o;
	o.fileListUrl = "file/list";
	o.fileContentUrl = "file/content";
	o.fileContentEditorUrl = "file/content/editor";
	//o.fileListUrl = "file/list";

	o.getQueryParam = {
		dir : currentDir
	};

	o.tableColumns = [
			// {
			// checkbox : false, // 显示一个勾选框
			// align : 'center' // 居中显示
			// },
			{
				title : '编号', // 表格表头显示文字
				align : 'center', // 左右居中
				valign : 'middle', // 上下居中
				width : 20,
				formatter : function(value, row, index) {
					// 返回序号，注意index是从0开始的，所以要加上1
					return index + 1;
				}
			},
			{
				field : 'name',
				title : '名称',
				align : 'center',
				valign : 'middle'
			},
			{
				field : 'fileType',
				title : '类型',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) { // 单元格格式化函数
					var text = '-';
					if (value == 0) {
						text = '<span class="glyphicon glyphicon-folder-open" aria-hidden="true"></span>'
					} else if (value == 1) {
						text = '<span class="glyphicon glyphicon-file" aria-hidden="true"></span>';
					}
					return text;
				}
			}, {
				field : 'authority',
				title : '权限',
				align : 'center',
				valign : 'middle',
			}, {
				title : "大小",
				field : 'length',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					return convertBytes(value);
				}
			}, {
				title : "修改时间",
				field : 'lastModified',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					return new Date(value).Format("yyyy-MM-dd hh:mm:ss");
				}
			}, {
				title : "操作",
				align : 'center',
				valign : 'middle',
				width : 220, // 定义列的宽度，单位为像素px
				formatter : function(value, row, index) {
					return self.optionTemplate;
				},
				events : operateEvents
			} ];
	// bootstrapTable的参数
	o.options = { // 对应table标签的id
		method : "get",
		toolbar : "#toolbar",
		search : true,
		showRefresh : true,
		showToggle : true,
		showColumns : true,
		pagination : false, // 是否显示分页（*）
		sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
		pageNumber : 1, // 初始化加载第一页，默认第一页
		pageSize : 10, // 每页的记录行数（*）
		pageList : [ 10, 25, 50, 100 ], // 可供选择的每页的行数（*）
		sortable : false,
		url : self.fileListUrl, // 获取表格数据的url
		cache : false, // 设置为 false 禁用 AJAX 数据缓存， 默认为true
		striped : true, // 表格显示条纹，默认为false
		queryParams : self.getQueryParam,
		sortName : 'id', // 要排序的字段
		sortOrder : 'desc', // 排序规则
		columns : self.tableColumns,
		onLoadSuccess : function(value) { // 加载成功时执行
			console.info("加载成功");
		},
		onLoadError : function() { // 加载失败时执行
			console.info("加载数据失败");
		}

	};
	o.init = function() {

		// console.log(urlStr);
		$("#table").bootstrapTable(this.options);

		$('#table').on('dbl-click-row.bs.table', function(row, element, field) {
			if (element.fileType == 0) {
				var dirs = new Array();
				if (currentDir != "") {
					dirs = currentDir.split('/');
				}
				dirs.push(element.name);
				currentDir = dirs.join('/');
				enterDir(currentDir);
			} else {
				console.info("当前不是目录");
			}

		});

	};

	return o;
}
